Rexx调用Skeleton JCL提交job的例子

这个例子一共包含3个部分

Rexx主程序IBMUSER.REXX.EXEC(MYSKELE)
带参数的sekleton JCLIBMUSER.REXX.SKELL(JCLSKEL)
最终生成的Dynamic JCLIBMUSER.DYNAM.JCL(SUBJCL)

 File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help            

VIEW       IBMUSER.REXX.SKELL(JCLSKEL) - 01.06             Columns 00001 00072 
Command ===>                                                  Scroll ===> CSR  
****** ***************************** Top of Data ******************************
000001 //&JOBNAME JOB '000000000000000000CMP',                                 
000002 // CLASS=3,NOTIFY=&USER,MSGCLASS=R                                      
000003 //********************************************************************* 
000004 )SEL &IND = Y                                                           
000005 //STEP000  EXEC  PGM=SYNCSORT                                           
000006 //SORTIN   DD  DSN=&FILE1,DISP=SHR                                      
000007 //SORTOUT  DD  DSN=&FILE2,                                              
000008 //             DISP=(NEW,CATLG,DELETE),                                 
000009 //             UNIT=SYSDA,                                              
000010 //             SPACE=(CYL,(3,3),RLSE),                                  
000011 //             DCB=(SYS1.MODEL,RECFM=FB,LRECL=80,DSORG=PS)              
000012 //SYSIN  DD *                                                           
000013   SORT FIELDS=(1,4,CH,A)                                                
000014 /*                                                                      
000015 )ENDSEL                                                                 
000016 //*                                                                     
****** **************************** Bottom of Data ****************************

注意上面的)SEL)ENDSEL表示skeleton的起始, 并且有一个选择判断条件&IND,当且仅当Rexx中传过来的IND的值是Y时,才拼装)SEL)ENDSEL之间的内容。在上面的例子中,如果IND=N,那么组装出来的JCL为如下所示,显然会报错。

 File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help            

VIEW       IBMUSER.DYNAM.JCL(SUBJCL) - 01.00               Columns 00001 00072 
Command ===>                                                  Scroll ===> CSR                                                   
****** ***************************** Top of Data ******************************
000001 //IBMUSERJ JOB '000000000000000000CMP',                                 
000002 // CLASS=3,NOTIFY=IBMUSER,MSGCLASS=R                                    
000003 //********************************************************************* 
000004 //*                                                                     

当IND=Y的时候,组装出来的JCL如下:

  File  Edit  Edit_Settings  Menu  Utilities  Compilers  Test  Help            

VIEW       IBMUSER.DYNAM.JCL(SUBJCL) - 01.00               Columns 00001 00072 
Command ===>                                                  Scroll ===> CSR  
****** ***************************** Top of Data ******************************
000001 //IBMUSERJ JOB '000000000000000000CMP',                                 
000002 // CLASS=3,NOTIFY=IBMUSER,MSGCLASS=R                                    
000003 //********************************************************************* 
000004 //STEP000  EXEC  PGM=SYNCSORT                                           
000005 //SORTIN   DD  DSN=IBMUSER.SORTIN.FILE,DISP=SHR                    
000006 //SORTOUT  DD  DSN=IBMUSER.SORTOUT.FILE,                        
000007 //             DISP=(NEW,CATLG,DELETE),                                 
000008 //             UNIT=SYSDA,                                              
000009 //             SPACE=(CYL,(3,3),RLSE),                                  
000010 //             DCB=(SYS1.MODEL,RECFM=FB,LRECL=80,DSORG=PS)              
000011 //SYSIN  DD *                                                           
000012   SORT FIELDS=(1,4,CH,A)                                                
000013 /*                                                                      
000014 //*                                                                     
****** **************************** Bottom of Data ****************************

最后,只需执行TSO命令:

TSO MYSKELE

就可以看到job成功submit,可以去SDSF里面查看job运行状况。

JOB IBMUSERJ(J0210531) SUBMITTED

Comments !